/**
 * @file    framework.h
 * @brief   Documentation: Fundamentals of WOSH Framework and its API
 ****************************************************************************
 * @author  Alessandro Polo
 * @version 0.8.499 $Id: framework.h 2861 2010-08-07 02:42:53Z alex $
 ****************************************************************************/
/* Copyright (c) 2007-2010, WOSH - Wide Open Smart Home 
 * by Alessandro Polo - OpenSmartHome.com
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the OpenSmartHome.com WOSH nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY Alessandro Polo ''AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Alessandro Polo BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ****************************************************************************/

/*! \page page_framework Framework
 *
 * This page introduces the WOSH Framework implementation, as part of the middleware.
 *
 * It is suggested to read \ref page_core "WOSH Core documentation" first.
 *
 * \section page_framework_toc Table of Contents:
 *
 *  - \ref page_framework_overview
 *
 *  - \ref page_framework_ai "WOSH AI"
 *  - \ref page_framework_automations "WOSH Automations"
 *  - \ref page_framework_building "WOSH Building (representation)"
 *  - \ref page_framework_communication "WOSH Communication"
 *  - \ref page_framework_entertainment "WOSH Entertainment"
 *  - \ref page_framework_gui "WOSH GUI"
 *  - \ref page_framework_network "WOSH Networking"
 *  - \ref page_framework_persistence "WOSH Persistence"
 *  - \ref page_framework_security "WOSH Security"
 *  - \ref page_framework_xtended "WOSH Xtended"
 *
 *
 * \htmlonly <hr/> \endhtmlonly
 ****************************************************************************
 * \section page_framework_overview Overview
 *
 * Framework classes are basically an extension of the WOSH Core, providing
 * implementations of core interfaces and a set of commonly used components
 * grouped by topic.
 *
 * The background idea is to have WOSH Core as scalable as possible,
 * so the final application may customize included implementations and
 * the required libraries. Reasons are many, first of all WOSH Core must
 * support almost any platform and provide minimal functionalities: not all application
 * will need every implemented component (of the framework), neither all
 * components of the framework may work on all platform (actually they do).
 *
 * In short, while \c woshsrv compiled on Linux will include the Qt-SQL
 * module, \c woshcrsrv for WindowsCE won't require neither support it.
 *
 * Moreover, the Framework may have more implementations of same component
 * as wrapper of external libraries, such as wosh::network::qt::SocketUdpQt
 * and wosh::network::libsockets::SocketUdpLS.
 * Bundles and even other components of the framework itself don't even need
 * to know which implementation is available until run-time. You may read more
 * about object-allocation model in page \ref page_core_objectfactory.
 *
 * WOSH Framework's source code is located in <a href="../../src/framework">/src/framework</a> folder and sub-directories.
 *
 * Each \c namespace is placed in a different folder.
 *
 * QT project file of WOSH Framework is
 * <a href="../../src/framework/framework.pro">/src/framework/framework.pro</a>.
 *
 *
 ****************************************************************************
 *
 */ 

